<?php
namespace Admin\Controller;
use Think\Controller;
class GoodsController extends ConmonController {




    //添加商品
    public function add(){


        // 查询商品分类
        $cate = D('goods_cate')->select();

        // 查询商品品牌
        $brand = D('goods_brand')->select();

        // 查询商品类型
        $type = D('goods_type')->select();

        //查询相册
        $photo = D('goods_photo')->select();

        $user=session('user');
        // print_r($role);die;
        if(IS_POST){

            if(!empty($user)){
                // 如果图片数组不为空，则调用图片上传函数，把返回的图片存储路径存入post数组中，一起存入数据库
                if(!empty($_FILES)){
                   $save = $this->upload();
                   $_POST['img']=$save;
                }
                //获取当前的时间戳
                $_POST['create_time']=time();


                //获取当前的操作员工
                $_POST['admin_id']=$user['id'];



                //获取缓存
                $date =  S('spec_attr');


                // print_r($date);die;
                // print_r(I('post.'));die;
                 //已经在公共类动态实例化对应的数据库
                $id = $this->MODEL->data(I('post.'))->add();

                if($id){
                    //重组数组
                    foreach ($date as $k => $v) {
                        $date[$k]['goods_id']=$id;
                        $date[$k]['createtime']=time();

                    }
                     //循环插入规格价格表中
                    foreach ($date as $k => $v) {

                        D('spec_price')->data($v)->add();
                    }

                    $this->success('添加成功',U('goods/lists'),1);die;
                }else{
                    $this->error('添加失败','',2);die;
                }

                }
            }
          S('spec_attr',null);
        $this->assign('role',$role);
        $this->assign('cate',$cate);
        $this->assign('brand',$brand);
        $this->assign('type',$type);
        $this->assign('photo',$photo);
        $this->display();


}


    //文件上传方法
   public function upload(){
       $upload = new \Think\Upload();// 实例化上传类
       $upload->maxSize   =     3145728 ;// 设置附件上传大小
       $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
       $upload->rootPath  =       'Uploads/';   //根目录
       $upload->savePath  =      'goods_img/'; // 设置附件上传目录

       $info   =   $upload->uploadOne($_FILES['img']); // 上传单个文件

       // var_dump($info);die;
       // 拼接图片的保存路径
       $save= './Uploads/'.$info['savepath'].$info['savename'];

    return $save;
 }

    //获取员工列表
    public function lists (){


        $count      = $this->MODEL->count();// 查询满足要求的总记录数
        $Page       = new \Think\Page_nav($count,5);// 实例化分页类 传入总记录数和每页显示的记录数(25)
        $Page->setConfig('prev','上一页');
        $Page->setConfig('next','下一页');
        $Page->setConfig('first','第一页');
        $Page->setConfig('last','尾页');
        $show       = $Page->show();// 分页显示输出// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = $this->MODEL->order('id asc')->limit($Page->firstRow.','.$Page->listRows)->select();

        // print_r($list);die;
        $this->assign('list',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出


        $this->display();
    }


    public function edit(){

        $group = D('group');
        $role = $group->select();

        //print_r(I('get.id'));die;获取到正在编辑的数据id
        $id =  I('get.id');
        //查询该数据id的数据
        $list = $this->MODEL->where("id=$id")->find();
        //print_r($list['avatar']);die;


        //更改头像
          if(IS_POST){

            // print_r($_POST);die;
            //获取到原来的图片路径,存入数据库
            $_POST['avatar']= $list['avatar'];

            //如果更改了头像，$_FILES就会有信息。则执行图像上传函数
            if(!empty($_FILES['avatar']['name'])){

                    //删除原来的图片，保存更改的图片
                    unlink('./'.$list['avatar']);

                    $save= $this->upload();

                    //把路径存到post的avatar的下标中
                    $_POST['avatar']=$save;
                }

             //已经在公共类动态实例化对应的数据库，对正在编辑的数据进行更新
            $row = $this->MODEL->where("id=$id")->save(I('post.'));

            //对角色和用户的关系表进行更新
               D('group_access')->where("uid=$id")->setField('group_id',I('post.group_id'));
            //print_r($row);die;
            if($row){
                $this->success('更改成功',U('Admin/lists'),1);die;
            }else{
                $this->error('更改失败','',1);die;
            }
        }

        $this->assign('role',$role);
        $this->assign('list',$list);
        $this->display();

}

    public function del(){

        $id=I('get.id');

        $row=$this->MODEL->where("id=$id")->delete();
         if($row){
           $this-> success('删除成功',U('goods/lists') , 0);die;
        }else{
            $this->error('删除失败',' ',1 );die;
        }
    }




}